1
การเขียนโปรแกรมด้วยการแปลงข้อมูล
AI019Lesson 1
00:00

ในเอลิกซีร์ เราละทิ้งแนวทางแบบบังคับที่ต้องเปลี่ยนสถานะ ไปสู่แนวทางที่เน้นการไหลเวียนของข้อมูล โดยที่โปรแกรมจะทำงานเป็นช่วงๆ การแปลงอย่างบริสุทธิ์แทนที่จะบอกคอมพิวเตอร์ วิธีการ ในการเปลี่ยนค่าหนึ่ง พวกเราได้กำหนดลำดับฟังก์ชันที่ทำให้เกิด การเขียนโปรแกรมควรเป็นเรื่องของการแปลงข้อมูล

1. กฎแห่งความไม่สามารถเปลี่ยนแปลงได้

ในเอลิกซีร์ ค่าทุกอย่างไม่สามารถเปลี่ยนแปลงได้เมื่อข้อมูลถูกสร้างขึ้นแล้ว จะไม่สามารถเปลี่ยนแปลงได้ ซึ่งทำให้มั่นใจได้ว่า ข้อมูลที่ไม่สามารถเปลี่ยนแปลงได้ คือข้อมูลที่เราทราบแน่นอน—ข้อมูลจะไม่มีวันเปลี่ยนแปลงโดยไม่ตั้งใจ จึงช่วยกำจัดปัญหาที่เกิดจากสถานะจำนวนมาก กระบวนการแปลงนี้ไม่ได้เปลี่ยนแปลงข้อมูลเลย แต่แต่ละฟังก์ชันจะสร้าง เวอร์ชันใหม่และสดใส ของข้อมูลขึ้นมา

ข้อมูลดิบการแปลงสถานะใหม่|>|>

2. ปรัชญาของการใช้เครื่องหมายท่อ (Pipe)

เครื่องหมายท่อ (|>) ทำให้ข้อมูลเหมือนของเหลวที่ไหลผ่านสายการผลิต ภาษาโปรแกรมเชิงฟังก์ชันช่วยให้เราคิดในแง่ของฟังก์ชันที่แปลงข้อมูลทีละขั้นตอน

3. บริบทของผู้ดำเนินการ (Actor)

ในเครื่องเสมือนเออร์แลง (BEAM) โค้ดจะทำงานใน กระบวนการพร้อมกันขนาดเล็กแต่ละกระบวนการมีสถานะของตนเอง กระบวนการสื่อสารกันผ่านข้อความเนื่องจากการสื่อสารเกิดจากการส่งข้อความ จึงทำให้การแลกเปลี่ยนข้อมูลระหว่างเครื่องต่าง ๆ ในเครือข่ายถูกจัดการอย่างโปร่งใสโดยเครื่องเสมือน

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>